package com.rc.common.Interceptor;

import cn.dev33.satoken.stp.StpUtil;

import javax.websocket.HandshakeResponse;
import javax.websocket.server.HandshakeRequest;
import javax.websocket.server.ServerEndpointConfig;

/**
 * WebSocket拦截器
 * 用于在WebSocket握手时进行身份验证
 */
public class WebSocketInterceptor extends ServerEndpointConfig.Configurator {

    /**
     * 修改握手信息
     * @param sec ServerEndpointConfig对象
     * @param request 握手请求
     * @param response 握手响应
     */
    @Override
    public void modifyHandshake(ServerEndpointConfig sec, HandshakeRequest request, HandshakeResponse response) {
        // 获取当前登录用户ID，用于身份验证
        StpUtil.getLoginId();
        // 调用父类方法继续处理握手
        super.modifyHandshake(sec, request, response);
    }
}
